package com.itlong.cloud.enumerate;

import java.util.Objects;

/**
 * <desc>
 *      设备更新时 软件类型枚举类
 * </desc>
 *
 * @createDate 2018/08/30
 */
public enum DeviceTypeEnum {
    DEVICE_CLOUD_ANDROID_APK("安卓APK程序", 0),        //安卓APK程序
    DEVICE_CLOUD_ANDROID_FIRMWARE("安卓系统固件", 1),        //安卓系统固件
    DEVICE_ELEVATOR_SCM("按键单片机固件", 2),        //按键单片机固件
    DEVICE_CLOUD_LINUX_SCM("linux系统固件", 3),        //linux系统固件

    ;

    private String description;
    private Integer type;

    /**
     * <desc>
     *      设备更新时 软件类型枚举无参构造函数
     * </desc>
     * @param
     * @return
     * @author Qiang.S
     * @createDate 2018/08/30
     */
    DeviceTypeEnum() {
    }

    /**
     * <desc>
     *      设备更新时 软件类型枚举描述与类型构造函数
     * </desc>
     * @param description 描述
     * @param type 类型
     * @return
     * @author zhangs
     * @createDate 2017/10/10
     */
    DeviceTypeEnum(String description, Integer type) {
        this.description = description;
        this.type = type;
    }

    /**
     * <desc>
     *      设备更新时 软件类型枚举描述
     * </desc>
     * @param
     * @return String
     * @author Qiang.S
     * @createDate 2018/08/30
     */
    public String getDescription() {
        return description;
    }

    /**
     * <desc>
     *      设备更新时 软件类型枚举类型
     * </desc>
     * @param
     * @return Integer
     * @author Qiang.S
     * @createDate 2018/08/30
     */
    public Integer getType() {
        return type;
    }

    /**
     * <desc>
     *      获取枚举的描述
     * </desc>
     * @param type 枚举类型
     * @return 枚举描述
     * @author Qiang.S
     * @createDate 2018/08/30
     */
    public static String getDescription(Integer type){
        DeviceTypeEnum[] types = DeviceTypeEnum.values();
        for(DeviceTypeEnum limitCategory : types ){
            if(Objects.equals(limitCategory.getType(), type)){
                return limitCategory.getDescription();
            }
        }
        return null;
    }
}
